Skip to content

Add iCal subscription feed to community calendar#4

Merged
psjamesp merged 2 commits into
mainfrom
feat/ical-calendar-feed
May 23, 2026
Merged

Add iCal subscription feed to community calendar#4
psjamesp merged 2 commits into
mainfrom
feat/ical-calendar-feed

Conversation

@HeyItsGilbert
Copy link
Copy Markdown
Member

@HeyItsGilbert HeyItsGilbert commented May 23, 2026

Summary

  • Integrates hugo-theme-component-ical as a Hugo module to generate a subscribable .ics feed at /calendar/calendar.ics
  • Migrates events from data/events.yaml to individual Hugo content pages under content/calendar/, making them the single source of truth for both the HTML view and the ICS feed
  • Adds a Subscribe (.ics) button to the calendar hero and a <link rel="alternate" type="text/calendar"> discovery header

Changes

  • hugo.yaml — initialize Hugo modules, add text/calendar media type and Calendar output format, configure params.ical.timezone: UTC
  • go.mod / go.sum — module dependency on finkregh/hugo-theme-component-ical@v0.11.3
  • content/calendar/ — 3 event pages replacing data/events.yaml
  • layouts/_default/calendar.html — updated to read from .RegularPages; subscribe button added
  • layouts/_partials/ — 3 overrides for Hugo 0.155 compatibility and a whitespace fix

Test plan

  • hugo server — calendar page renders with all 3 events
  • Visit /calendar/calendar.ics — valid iCalendar output starting with BEGIN:VCALENDAR
  • Import feed URL into Google Calendar / Outlook / Apple Calendar
  • Subscribe button visible in calendar hero section

🤖 Generated with Claude Code

Integrates hugo-theme-component-ical to generate a subscribable calendar
feed at /calendar/calendar.ics. Events migrated from data/events.yaml to
Hugo content pages, making them the single source of truth for both the
HTML calendar view and the ICS feed.

- Initialize Hugo modules and import finkregh/hugo-theme-component-ical@v0.11.3
- Add Calendar output format (text/calendar) scoped to the calendar section
- Migrate 3 events to content/calendar/ with RFC 5545 frontmatter fields
- Update calendar.html to read from .RegularPages instead of site.Data.events
- Add Subscribe (.ics) button and <link rel=alternate> discovery header
- Override header.ics and event.ics partials for Hugo 0.155 compatibility
- Override prop_description.ics to fix DESCRIPTION/LOCATION line merging

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@HeyItsGilbert
Copy link
Copy Markdown
Member Author

Needs Hugo v0.150.0+.

- add-event.yml: on approved label, parses the community-event issue
  form and opens a PR creating the content/calendar/*.md file
- community-event.yml: minor field description improvements
- hugo.yml: bump Hugo 0.121.0 -> 0.155.1 (required for Hugo modules)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@HeyItsGilbert
Copy link
Copy Markdown
Member Author

Verified the ICS was correct
image

@psjamesp psjamesp merged commit 7429f58 into main May 23, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants